const cookieparser = process.client?null:require('cookieparser')

// 为了防止服务端都是一个实例，数据冲突，定义成函数
export const state = () => {
    return {
        user: null
    }
}

export const mutations = {
    setUser(state,user){
        state.user = user
    }
}

export const actions = {
    // 这个方法会在服务端渲染期间自动调用，用于初始化容器数据，传递数据给客户端
    nuxtServerInit({commit},{req}){
        let user = null
        if(req.headers.cookie){
            const parsed = cookieparser.parse(req.headers.cookie)
            try {
                user = JSON.parse(parsed.user)
            } catch (error) {
                
            }
        }
        commit('setUser',user)
    }
}